The present invention generally relates to an improved graphical user interface of a computer system which reduces the amount of physical manipulation of an input device. More particularly, the present invention relates to an improved graphical user interface for displaying one of several menus or selecting one of several menu items on the basis of a consecutive number of times an input device is actuated in a given time span. The present invention further relates to an improved graphical user interface for displaying one of several menus or selecting one of several menu items on the basis of the amount of time the input device is continually actuated.
As used throughout this disclosure, the terms “desktop” and GUI are used interchangeably, and refer to a graphical user interface display on a video screen of a computer. The term “input device” refers to a device such as a keyboard, mouse, pointing device, or the like for giving a certain input to the computer. The typical pointing device includes a track panel, track point, track ball stylus pen or the like.
Moreover, as used in this disclosure, the term “event” refers to an interrupt generated in response to a particular manipulation of an input device. For example, an event may be triggered by clicking on one of the mouse buttons, actuating a key on a keyboard, or manipulation of a stylus pen.
Still further, the term “menu” includes a pull-down menu, pull-up menu, pop-up menu, cascade menu, multiple hierarchical menu, or the like. Notably, when the software of the present invention is applied to the manipulation of a menu bar, an improved pull-down menu or pull-up menu is obtained.
A conventional GUI 300 is illustrated in FIG. 3. The GUI 300 includes icons 310 indicating objects such as application programs, a cursor 320 of a pointing device, and a pop-up menu 330. The pop-up menu 330 includes several selectable commands, which are sometimes grouped, as in menu groups 331 and 333. This type of GUI is typically offered by an operating system, e.g., the MS Windows Operating System (Windows is a registered trademark of Microsoft Corporation). Alternatively, such GUI may be offered by various application program windows, e.g., Xwindows system (Xwindow is a registered trademark of XOpen Limited).
According to conventional MS Windows protocol, a pop-up menu is triggered within the operating system by actuating an input device, such as a mouse, on a non-display area or on an object. The term “object” refers to an icon or the like in an area of a desktop. The term “non-display” area refers to a region of the desktop where nothing is displayed. A different pop-up menu may be displayed depending on whether an object or a non-display area is selected.
By manner of illustration, FIG. 3 shows the cursor 320 positioned on a non-display area. The pop-up menu 330 could have been triggered by, for example, clicking once on a right mouse button. Similarly, in most applications running under the standard MS Windows protocol, a pop-up menu is triggered from within the application by actuating the input device on a non-display area or on an object within the window.
The pop-up menu 330 contains a number of commands or attributes which may be executed or adjusted by selecting the appropriate item. Notably, a user manipulates an input device such as a mouse or scroll key on a keyboard to move the cursor 320 to a desired item on the menu. When the user actuates the input device in a predetermined manner, a command corresponding to the relevant item is executed. Thus, the use of the menu tree eliminates the need to input a command from the keyboard.
Japanese Published Unexamined Patent Application No. HEI 10-333860 discloses an improvement to the above-described GUI which allows the user (as opposed to the program developer) to determine the ordering of the displayed items. For example, a user may opt to position frequently executed commands toward the top of the menu, thereby reducing the amount of manipulation of the input device. FIG. 4 illustrates the pop-up menu 330 where the relative sequence the first group of commands 331 is interchanged with the second group of commands 333.
Another improvement to the above described GUI is disclosed in Japanese Published Unexamined Patent Application No. HEI 5-298049. As shown in FIG. 5, this improvement provides a scroll bar 350 which facilitates rapid scrolling of the menu 330.
However, each of the above-described GUI's suffers from a problem wherein a relatively large amount of manipulation of the input device is required to select a command located towards the bottom of the menu. This problem is exacerbated as the number of items contained in the menu increases.
It is therefore an object of the present invention to provide an improved GUI which reduces the amount of manipulation of the input device required to select a command. It is a further object of the present invention to provide an improved GUI which displays a selected menu on the basis of the number of consecutive actuations of an input device within a predefined time.
Yet another object of the present invention to provide an improved GUI which displays a selected menu on the basis of the actuation time of an input device.
Still another object of the present invention is to provide in the above-mentioned computer system a menu item manager for selecting and arranging items displayed in each one of a plurality of menus.
A still further object of the present invention is to provide a computer readable storage medium storing a computer program for displaying a menu on the display screen of a computer on the basis of manipulation of an input device, wherein the computer program includes a first routine responsive to an event alert message from an operating system of a computer upon a particular manipulation of an input device, and a second routine for displaying a selected menu on the basis of at least one of: the number of event alert messages received within a predetermined time interval, and a duration time corresponding to a predetermined actuation of the input device calculated as a difference between receipt of a first event alert message and receipt of a second event alert message.